﻿namespace SPFluid.Core.Validation
{
    internal class GuardInstance<T> : IGuard<T>
    {
        private readonly IArgument<T> argument;

        private readonly IExceptionHandler exceptionHandler;

        internal GuardInstance(IArgument<T> argument, IExceptionHandler exceptionHandler)
        {
            this.argument = argument;
            this.exceptionHandler = exceptionHandler;
        }

        public IArgument<T> Argument
        {
            get
            {
                return this.argument;
            }
        }

        public IExceptionHandler ExceptionHandler
        {
            get
            {
                return this.exceptionHandler;
            }
        }
    }
}